1. Field of the Invention
The present invention relates to a circuit design support method, a implement thereof, and a circuit design support program, and in particular, to a circuit design support method, a implement thereof, and a circuit design support program capable of automatically designing a circuit interactively through a designer and a computer without providing a circuit equation comprised of a differential equation.
2. Description of the Related Art
The information society of recent years has been under significant development, and increase in frequencies used for an electronic circuit has become increasingly prominent, for example, a computer CPU requires operating (clock) frequencies of the order of GHz, the use of frequencies of the order of GHz has also commenced in wireless communication, and the like. Accordingly, the development of an analog circuit has become extremely important, such as a power supply circuit for supplying power to a CPU and the like, and an amplifier used in wireless communication.
The design of an analog circuit connected to an electronic circuit of which the operating frequencies increase, such as a power supply circuit or an amplifier, is categorized into the following three stages:    (1) Decision of circuit configuration,    (2) Decision of a circuit element value, and    (3) Evaluation of circuit operation.
As a tool for supporting such design on a computer, a circuit simulator such as “SPICE” has been developed, which has been widely used as an important support tool for (3) above. However, in order to simulate circuit operation, a circuit element value needs to be provided, and therefore stage (2) above is essential which derives such an element value for providing a desired operation.
A developer of an analog circuit first performs circuit analysis through manual calculation and then use the result of that analysis to decide the element value of the circuit. The circuit analysis involves many approximations, and therefore the derived element value includes errors. Accordingly, the developer inputs the derived element value into a simulator, and then repeatedly performs the above works (2) and (3) to thereby empirically adjust the element value for the circuit on the basis of the simulation result. Moreover, adjustment of the element value is largely dependent on a designer's experience, and therefore training the designer is also necessary.
On the other hand, even if the element value is obtained with the Monte Carlo method using a simulator, there exists the problem that calculation time increases exponentially as the number of conditions to be satisfied increases. That is, stage (2) above that bridges the above (1) and (3) is a bottleneck in the development of a circuit in terms of time. For this reason, a design support tool with which even a less experienced designer can easily and rapidly design a circuit is strongly required.
In consideration of this, the present inventors previously proposed a method for calculating an element value, in which the element value was numerically derived with a computer, as described in the following non-patent literature. The prior method for calculating an element value will hereinafter be described.
For example, consider a circuit described with the differential equation represented by the following eq. (1).
                                                        ⅆ              x                                      ⅆ              t                                =                      f            ⁡                          (                              t                ,                x                ,                λ                            )                                      ,                            (        1        )            where t∈R, x∈Rn, and λ∈Mm represents time, an n-dimensional state space, and m-dimensional system parameters, respectively. For simplicity, we assume thatƒ:R×Rn×Rm→Rn(t, χ, λ) ƒ(t, χ, λ)  (2)represents a C∞-class map having periodicity of period tT in a time domain. That is,ƒ(t+tT, χ, λ)=ƒ(t, χ, λ)  (3)represents the assumption. Furthermore, the above eq.(1) is assumed to have a solution of x(t)=φ(t,x0, λ), if −∞<t<∞, with respect to any intitial value x0∈Rn and all the sytem parameters λ∈Rm:x(0)=φ (0, x0, λ)=x0.
The assumption of the periodicity described in eq. (3) enables a C∞-class discrete map T which returns from the state space Rn to itself to be defined as:T:Rn→Rnχ0T(χ0, λ)=φ(tT, χ0, λ)  (4)This map is referred to as the Poincare map.
In the case where the solution x(t)=φ(t,p0, λ) of differential equation (1) has periodicity of period tT,T(p0, λ)=p0  (5)the point p0∈Rn satisfying eq. (5) is called a fixed point with respect to map T.
In order to design an electronic circuit, constraint conditions are often considered. Given that the number of conditions is N (≦m), by expressing each condition at time t=tck as gk, the constraint condition can be expressed as:
                                          G            ⁡                          (                                                x                  0                                ,                λ                            )                                =                                    [                                                                                                                  g                        1                                            ⁡                                              (                                                                              t                                                          c                              ⁢                                                                                                                          ⁢                              1                                                                                ,                                                      x                            0                                                    ,                          λ                                                )                                                                                                                                                                                g                        2                                            ⁡                                              (                                                                              t                                                          c                              ⁢                                                                                                                          ⁢                              2                                                                                ,                                                      x                            0                                                    ,                          λ                                                )                                                                                                                                  ⋮                                                                                                                                      g                        N                                            ⁡                                              (                                                                              t                                                          c                              ⁢                                                                                                                          ⁢                              N                                                                                ,                                                      x                            0                                                    ,                          λ                                                )                                                                                                        ]                        =            0                          ,                  ∈                      R            N                          ,                            (        6        )            In this case, N parameters can be prepared as the design parameter. Consequently, the remaining (m−N) parameters need to be provided as the design specification.
As described above, the design of an electronic circuit comes down to solution methods of the above eqs. (5) and (6), which are algebra equations. These algebra equations are now rewritten as:
                                          F            ⁡                          (                                                x                  0                                ,                λ                            )                                =                                    [                                                                                                                  T                        ⁡                                                  (                                                                                    x                              0                                                        ,                            λ                                                    )                                                                    -                                              x                        0                                                                                                                                                        G                      ⁡                                              (                                                                              x                            0                                                    ,                          λ                                                )                                                                                                        ]                        =            0                          ,                  ∈                      R                          n              +              N                                                          (        7        )            where T((x0, λ), x0, and λ can be expresses as T(x0λ)=[T1(x0, λ, T2 (x0, λ), . . . , Tn (x0, λ)]T, x0=x(0)=[x1(0), x2(0), . . . , xn(0)]T, and λ=[λ1, λ2, . . . , λm]T, respectively. Further, λu ∈RN is defined as:λu={λu1, λu2, . . . , λuN|λuk (K=1, 2, . . . , N) are unknown design parameters in λ. }  (8)
To solve design equation (7), the Newton method that is the most general algorithm for solving an algebra equation is used. The unknown in eq. (7) is expressed as u∈Rn+N:u=[x0T,λuT]T, and then an interative calculation:
                              u                      k            +            1                          =                              u            k                    -                                    F              ⁡                              (                                  u                  k                                )                                                                    F                ′                            ⁡                              (                                  u                  k                                )                                                                        (        9        )            is performed until the termination condition of ∥k+1u−uk∥<δ is satisfied,
                                          F            ′                    ⁡                      (                          u              k                        )                          =                  [                                          ⁢                                                                                                                ∂                                                                        T                          1                                                ⁡                                                  (                                                      u                            k                                                    )                                                                                                            ∂                                                                        x                          1                                                ⁡                                                  (                          0                          )                                                                                                      -                  1                                                                                                  ∂                                          T                      1                                                                            ∂                                                                  x                        2                                            ⁡                                              (                        0                        )                                                                                                                        ⋯                                                                                  ∂                                          T                      1                                                                            ∂                                                                  x                        n                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          T                      1                                                                            ∂                                          λ                                              u                        ⁢                                                                                                  ⁢                        1                                                                                                                        ⋯                                                                                  ∂                                          T                      1                                                                            ∂                                          λ                      uN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ∂                                                                  T                        2                                            ⁡                                              (                                                  u                          k                                                )                                                                                                  ∂                                                                  x                        1                                            ⁡                                              (                        0                        )                                                                                                                                                                                    ∂                                              T                        2                                                                                    ∂                                                                        x                          2                                                ⁡                                                  (                          0                          )                                                                                                      -                  1                                                            ⋯                                                                                  ∂                                          T                      2                                                                            ∂                                                                  x                        n                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          T                      2                                                                                                  ∂                                              λ                                                  u                          ⁢                                                                                                          ⁢                          1                                                                                      ⁢                                                                                                                                            ⋯                                                                                  ∂                                          T                      2                                                                            ∂                                          λ                      uN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ⋮                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ∂                                                                  T                        n                                            ⁡                                              (                                                  u                          k                                                )                                                                                                  ∂                                                                  x                        1                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          T                      n                                                                            ∂                                                                  x                        2                                            ⁡                                              (                        0                        )                                                                                                                        ⋯                                                                                                        ∂                                              T                        n                                                                                    ∂                                                                        x                          n                                                ⁡                                                  (                          0                          )                                                                                                      -                  1                                                                                                  ∂                                          T                      n                                                                            ∂                                          λ                                              u                        ⁢                                                                                                  ⁢                        1                                                                                                                        ⋯                                                                                  ∂                                          T                      n                                                                            ∂                                          λ                      uN                                                                                                                                                                ∂                                                                  g                        1                                            ⁡                                              (                                                                              t                                                          c                              ⁢                                                                                                                          ⁢                              1                                                                                ,                                                      u                            k                                                                          )                                                                                                  ∂                                                                  x                        1                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          g                      1                                                                            ∂                                                                  x                        2                                            ⁡                                              (                        0                        )                                                                                                                        ⋯                                                                                  ∂                                          g                      1                                                                            ∂                                                                  x                        n                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          g                      1                                                                            ∂                                          λ                                              u                        ⁢                                                                                                  ⁢                        1                                                                                                                        ⋯                                                                                  ∂                                          g                      1                                                                            ∂                                          λ                      uN                                                                                                                          ⋮                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ∂                                                                  g                        N                                            ⁡                                              (                                                                              t                            cN                                                    ,                                                      u                            k                                                                          )                                                                                                  ∂                                                                  x                        1                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          g                      N                                                                            ∂                                                                  x                        2                                            ⁡                                              (                        0                        )                                                                                                                        ⋯                                                                                  ∂                                          g                      N                                                                            ∂                                                                  x                        2                                            ⁡                                              (                        0                        )                                                                                                                                                              ∂                                          g                      N                                                                            ∂                                          λ                                              u                        ⁢                                                                                                  ⁢                        1                                                                                                                        ⋯                                                                                  ∂                                          g                      N                                                                            ∂                                          λ                      uN                                                                                                    ]                                    (        10        )            In addition, k is the number of iterations and <<1 (where we assume =10−9). In this case, uk+1 is the solution of eq. (7).
In order to calculate eq. (9), it is required to obtain T(uk) in eq. (10), which can be obtained by applying the Runge-Kutta Method to eq. (1). Further, respective elements of the Jacobi matrix F′(uk) given by eq. (10) are derived by solving the following linear variational equations:
                                                                        ⅆ                                  ⅆ                  t                                            ⁢                                                ∂                  ϕ                                                  ∂                                      x                    0                                                                        =                                                            ⅆ                  f                                                  ⅆ                  x                                            ⁢                                                ∂                  ϕ                                                  ∂                                      x                    0                                                                                ,                                                    with                ⁢                                                                  ⁢                                                      ∂                    ϕ                                                        ∂                                          x                      0                                                                                  ⁢                              |                                  t                  =                  0                                                      =            I                          ⁢                                  ⁢                                                            ⅆ                                  ⅆ                  t                                            ⁢                                                ∂                  ϕ                                                  ∂                  λ                                                      =                                                                                ⅆ                    f                                                        ⅆ                    x                                                  ⁢                                                      ∂                    ϕ                                                        ∂                    λ                                                              +                                                ∂                  f                                                  ∂                  λ                                                              ,                                                    with                ⁢                                                                  ⁢                                                      ∂                    ϕ                                                        ∂                    λ                                                              ⁢                              |                                  t                  =                  0                                                      =            0                                              (        11        )            Eqs. (11) can be regarded as differential equations with respect to ∂ (t, uk)/∂x0 and ∂φ(t, uk)/∂λ. That is, if esqs. (11) are solved from 0 to tT or tck with the Runge-Kutta Method, ∂φ(tT, uk)/∂x0, ∂φ(tck, uk)/∂x0, ∂φ(tT, uk)/∂λ, and 7 φ(tck, uk)/∂λ can be derived. Tk is a function of φ, and also gk can typically be expressed as a function of φ, and therefore, from these values, Tk(uk)/∂x0, Tk(uk)/∂λ, gk(Tck, uk)/∂x0, and gk(tck, uk)/∂λcan be numerically derived.
Conventionally, the unknown coefficient u has been obtained by the above-described calculation, and consequently . .λu that is the design value of the electronic circuit has been decided.
FIG. 2 is a flowchart illustrating a procedure in which a circuit design is performed using the above-described prior calculation procedure. The procedure is comprised of 5 steps: (1) the circuit configuration decision step of deciding electronic circuit configuration; (2) the circuit equation formulation step in which a circuit designer manually decides circuit equation (1) on the basis of the decided circuit configuration; (3) the variational equation derivation step in which a circuit designer derives the variational equations (11) from the circuit equation; (4) the constraint condition derivation step of deriving the constraint condition (eq. 7); and (5) the step of deriving a circuit element value and a waveform by solving conditional equation (7) with circuit equation (1) and variational equations (11), and if a satisfactory solution is not obtained in step 5, then an operation returns to step 1.
Non-patent literature 1: IEEE TRANSACTION ON CIRCUITS AND SYSTEM-1: fundamental theory and applications, vol. 49, No. 7, July 2002.
As described above, the prior method is configured to derive a voltage or current waveform x(t)=φ(t, x0, λ) by providing the circuit equation in an explicit form following the consideration of circuit configuration and then solving the circuit equation. However, it is not easy to automatically derive the circuit equation with a computer, and therefore, there exists a problem of having to depend on manual calculation. Furthermore, every time a circuit configuration or the characteristic of a circuit element is modified, the circuit equation has to be reformulated, resulting in a large expenditure of time. In other words, in the prior method, a series of works, i.e., deriving the circuit equation from the circuit configuration and then deriving the variational equations constitute barriers to an automated design.
It is therefore a purpose of the present invention to provide a circuit design support method, a implement thereof, and a circuit design support program with which a circuit element value and a waveform can be derived automatically with a computer.